package cn.dsscm.controller;

import cn.dsscm.pojo.ProductCategory;
import cn.dsscm.service.ProductCategoryService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.annotation.Resource;
import java.util.List;

/**
 * 商品分类控制器（用于分类数据查询，支持级联选择）
 */
@Controller
@RequestMapping("/sys/productCategory")
public class ProductCategoryController {

    @Resource
    private ProductCategoryService productCategoryService;

    /**
     * 查询分类（用于添加商品时的级联下拉框）
     * @param type 分类类型（1/2/3 对应一/二/三级分类）
     * @param parentId 父分类ID（二级/三级分类需要）
     * @param model 模型
     * @return 分类列表（可根据需求返回 JSON 或片段）
     */
    @GetMapping("/list")
    public String getCategoryList(
            @RequestParam(required = false, defaultValue = "1") Integer type,
            @RequestParam(required = false) Integer parentId,
            Model model) {

        List<ProductCategory> categoryList;
        if (parentId == null) {
            // 查询一级分类（parentId 为空时，按 type 查询）
            categoryList = productCategoryService.getCategoryByType(type);
        } else {
            // 查询二级/三级分类（按 parentId 查询）
            categoryList = productCategoryService.getCategoryByParentId(parentId);
        }

        model.addAttribute("categoryList", categoryList);
        return "productCategory :: categoryList"; // 假设用片段渲染，可调整为 JSON
    }
}